@-webkit-keyframes bounce {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    25% {
        -webkit-transform: scale(0.85);
        transform: scale(0.85);
        opacity: .8;
    }

    50% {
        -webkit-transform: scale(1.10);
        transform: scale(1.10);
        opacity: 1;
    }

    75% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
        opacity: .9;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes bounce {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    25% {
        -webkit-transform: scale(0.85);
        transform: scale(0.85);
        opacity: .8;
    }

    50% {
        -webkit-transform: scale(1.10);
        transform: scale(1.10);
        opacity: 1;
    }

    75% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
        opacity: .9;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
} 


@-webkit-keyframes blink {
    
    0% {
        box-shadow: 0 0 0 0 @brand-info;
        background-color: @brand-info;
    }

    70% {
        box-shadow: 0 0 0 5px fadeout(@brand-info,100%);
        background-color: fadeout(@brand-info,100%);
    }

    100% {

        box-shadow: 0 0 0 0 fadeout(@brand-info,100%);
    }
}

@keyframes blink {

    0% {
        box-shadow: 0 0 0 0 @brand-info;
        background-color: @brand-info;
    }

    70% {
        box-shadow: 0 0 0 5px fadeout(@brand-info,100%);
        background-color: fadeout(@brand-info,100%);
    }

    100% {
        box-shadow: 0 0 0 0 fadeout(@brand-info,100%);
    }
}


@-webkit-keyframes blink-round {

    0% {
        box-shadow: 0 0 0 0 @brand-info;
        background-color: @brand-info;
        border-radius: 50%;
    }

    70% {
        box-shadow: 0 0 0 5px fadeout(@brand-info,100%);
        background-color: fadeout(@brand-info,100%);
        border-radius: 50%;
    }

    100% {

        box-shadow: 0 0 0 0 fadeout(@brand-info,100%);
        border-radius: 50%;
    }
}

@keyframes blink-round {

    0% {
        box-shadow: 0 0 0 0 @brand-info;
        background-color: fade(@brand-info, 30%);
        border-radius: 50%;
    }

    70% {
        box-shadow: 0 0 0 5px fadeout(@brand-info, 100%);
        background-color: fadeout(@brand-info, 100%);
        border-radius: 50%;
    }

    100% {
        box-shadow: 0 0 0 0 fadeout(@brand-info,100%);
        border-radius: 50%;
    }
}


@keyframes fadein {
    0% {
        opacity:0;
    }

    100% {
        opacity:1;
    }
}

@-webkit-keyframes fadein {
    0% {
        opacity:0;
    }

    100% {
        opacity:1;
    }
}

@keyframes fadein {
    0% {
        opacity:0;
    }

    100% {
        opacity:1;
    }
}

@-webkit-keyframes fadeindelay {
    0% {
        max-height: 0;
        opacity:0;
    }

    50% {
        max-height: 0;
        opacity:0;
    }

    51% {
        max-height: 10000px;
        opacity: 0;
    }

    100% {
        max-height: 10000px;
        opacity:1;
    }
}

@keyframes fadeindelay {
    0% {
        max-height: 0;
        opacity:0;
    }

    50% {
        max-height: 0;
        opacity:0;
    }

    51% {
        max-height: 10000px;
        opacity: 0;
    }

    100% {
        max-height: 10000px;
        opacity:1;
    }
}


@-webkit-keyframes fadeoutzoom {

    0% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
        opacity:1;
    }

    100% {
        -webkit-transform: scale3d(10, 10, 10);
        transform: scale3d(10, 10, 10);
        opacity:0;
    }
}

@keyframes fadeoutzoom {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
        opacity:1;
    }


    100% {
        -webkit-transform: scale3d(10, 10, 10);
        transform: scale3d(10, 10, 10);
        opacity:0;
    }
}

@-webkit-keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, 100% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    0% {
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    20% {
        -webkit-transform: scale3d(1.3, 1.3, 1.3);
        transform: scale3d(1.3, 1.3, 1.3);
    }

    40% {
        -webkit-transform: scale3d(.8, .8, .8);
        transform: scale3d(.8, .8, .8);
    }

    60% {
        -webkit-transform: scale3d(1.06, 1.06, 1.06);
        transform: scale3d(1.06, 1.06, 1.06);
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97);
    }

    100% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, 100% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    0% {
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    20% {
        -webkit-transform: scale3d(1.3, 1.3, 1.4);
        transform: scale3d(1.3, 1.3, 1.4);
    }

    40% {
        -webkit-transform: scale3d(.8, .8, .8);
        transform: scale3d(.8, .8, .8);
    }

    60% {
        -webkit-transform: scale3d(1.06, 1.06, 1.06);
        transform: scale3d(1.06, 1.06, 1.06);
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97);
    }

    100% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@-webkit-keyframes bounceInOnce {
    0%, 70%, 100% {
        -webkit-transition-timing-function: cubic-bezier(0.850, 0.000, 0.250, 0.995);
        transition-timing-function: cubic-bezier(0.850, 0.000, 0.250, 0.995);
    }

    0% {
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    70% {
        -webkit-transform: scale3d(1.1, 1.1, .1.1);
        transform: scale3d(1.1, 1.1, .1.1);
    }

    100% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceInOnce {
    0%, 70%, 100% {
        -webkit-transition-timing-function: cubic-bezier(0.850, 0.000, 0.250, 0.995);
        transition-timing-function: cubic-bezier(0.850, 0.000, 0.250, 0.995);
    }

    0% {
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    70% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    100% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0deg);
    }

    to {
        -moz-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


@-moz-keyframes pulse-70 {
    from {
        opacity:1;
    }

    to {
        opacity:0.3;
    }
}

@-webkit-keyframes pulse-70 {
    from {
        opacity:1;
    }

    to {
        opacity:0.3;
    }
}

@keyframes pulse-70 {
    from {
        opacity:1;
    }

    to {
        opacity:0.3;
    }
}


@-moz-keyframes slideup {
    from {
        -moz-transform: translateY(30px);
        opacity: 0;
    }

    to {
        -moz-transform: translateY(0);
        opacity: 1;
    }
}

@-webkit-keyframes slideup {
    from {
        -webkit-transform: translateY(30px);
        opacity: 0;
    }

    to {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideup {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        -moz-transform: translateY(0);
        opacity: 1;
    }
}

@-moz-keyframes slidein {
    from {
        -moz-transform: translateY(-5px);
        opacity: 0;
    }

    to {
        -moz-transform: translateY(0);
        opacity: 1;
    }
}

@-webkit-keyframes slidein {
    from {
        -webkit-transform: translateY(-5px);
        opacity: 0;
    }

    to {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slidein {
    from {
        transform: translateY(-5px);
        opacity: 0;
    }

    to {
        -moz-transform: translateY(0);
        opacity: 1;
    }
}

@-moz-keyframes topexpand {
    from {
        max-height: 0;
    }

    to {
        max-height: 60vh;
    }
}

@-webkit-keyframes topexpand {
    from {
        max-height: 0;
    }

    to {
        max-height: 60vh;
    }
}

@keyframes topexpand {
    from {
        max-height: 0;
    }

    to {
        max-height: 60vh;
    }
}

@bounce-properties: bounce 0.4s 1 cubic-bezier(0, 0.40, 0.4, 1);
@blink-properties: blink .75s 1;
@blink-round-properties: blink-round .75s 1;
@fadeindelay-properties: fadeindelay .6s 1 both;
@fadein-properties: fadein .3s 1 both;
@fadeoutzoom-properties: fadeoutzoom .5s 1 both;
@bouncein-properties: bounceIn .75s 1 both;
@bounceinonce-properties: bounceInOnce .15s 1 both;
@spin-properties: spin .75s infinite cubic-bezier(0.6, 0.02, 0.4, 0.99);
@spin-properties-noease: spin 3s infinite linear;
@slidein-properties: slidein .25s cubic-bezier(0, 0, 0, 1);
@topexpand-properties: topexpand .25s cubic-bezier(0, 0, 0, 1);
@slideup-properties: slideup 1s cubic-bezier(0, 0, 0, 1);
@pulse-70-properties: pulse-70 1s ease-in alternate infinite;

.pulse {
    -webkit-animation: @pulse-70-properties;
    -moz-animation: @pulse-70-properties;
    -ms-animation: @pulse-70-properties;
    animation: @pulse-70-properties;
}

.bounce {
    -webkit-animation: @bounce-properties;
    -moz-animation: @bounce-properties;
    -ms-animation: @bounce-properties;
    animation: @bounce-properties;
}

.blink-style-basic {
    -webkit-animation: @blink-properties;
    -moz-animation: @blink-properties;
    -ms-animation: @blink-properties;
    animation: @blink-properties;
    animation-duration: 2s;
}

.blink-style {
    -webkit-animation: @blink-properties;
    -moz-animation: @blink-properties;
    -ms-animation: @blink-properties;
    animation: @blink-properties;

    button {
        background-color: transparent !important;
        .bouncein-style;
    }
}

.blink-round-style {
    -webkit-animation: @blink-round-properties;
    -moz-animation: @blink-round-properties;
    -ms-animation: @blink-round-properties;
    animation: @blink-round-properties;

    button {
        background-color: transparent !important;
        .bouncein-style;
    }
}

.fadeindelay-style {
    -webkit-animation: @fadeindelay-properties;
    -moz-animation: @fadeindelay-properties;
    -ms-animation: @fadeindelay-properties;
    animation: @fadeindelay-properties;
}

.fadein-style {
    -webkit-animation: @fadein-properties;
    -moz-animation: @fadein-properties;
    -ms-animation: @fadein-properties;
    animation: @fadein-properties;
}

.fadeoutzoom-style {
    -webkit-animation: @fadeoutzoom-properties;
    -moz-animation: @fadeoutzoom-properties;
    -ms-animation: @fadeoutzoom-properties;
    animation: @fadeoutzoom-properties;
}

.bouncein-style {
   -webkit-animation: @bouncein-properties;
    -moz-animation: @bouncein-properties;
    -ms-animation: @bouncein-properties;
    animation: @bouncein-properties;
}

.bounceinonce-style {
   -webkit-animation: @bounceinonce-properties;
    -moz-animation: @bounceinonce-properties;
    -ms-animation: @bounceinonce-properties;
    animation: @bounceinonce-properties;
}

.spin-style {
    -webkit-animation: @spin-properties;
    -moz-animation: @spin-properties;
    -ms-animation: @spin-properties;
    animation: @spin-properties;
}

.spin-style-noease {
    -webkit-animation: @spin-properties-noease;
    -moz-animation: @spin-properties-noease;
    -ms-animation: @spin-properties-noease;
    animation: @spin-properties-noease;
}

.slideup-style {
    -webkit-animation: @slideup-properties;
    -moz-animation: @slideup-properties;
    -ms-animation: @slideup-properties;
    animation: @slideup-properties;
}

.slidein-style {
    -webkit-animation: @slidein-properties;
    -moz-animation: @slidein-properties;
    -ms-animation: @slidein-properties;
    animation: @slidein-properties;
}

.topexpand-style {
    -webkit-animation: @topexpand-properties;
    -moz-animation: @topexpand-properties;
    -ms-animation: @topexpand-properties;
    animation: @topexpand-properties;
}
